package com.ruoyi.server.api.imgtype.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.ImgType;

/**
 * 图片分类Service接口
 * 
 * @author ruoyi
 * @date 2024-06-20
 */
public interface IImgTypeService 
{
    /**
     * 查询图片分类
     * 
     * @param id 图片分类主键
     * @return 图片分类
     */
    public ImgType selectImgTypeById(Long id);

    /**
     * 查询图片分类列表
     * 
     * @param imgType 图片分类
     * @return 图片分类集合
     */
    public List<ImgType> selectImgTypeList(ImgType imgType);

    /**
     * 新增图片分类
     * 
     * @param imgType 图片分类
     * @return 结果
     */
    public int insertImgType(ImgType imgType);

    /**
     * 修改图片分类
     * 
     * @param imgType 图片分类
     * @return 结果
     */
    public int updateImgType(ImgType imgType);

    /**
     * 批量删除图片分类
     * 
     * @param ids 需要删除的图片分类主键集合
     * @return 结果
     */
    public int deleteImgTypeByIds(Long[] ids);

    /**
     * 删除图片分类信息
     * 
     * @param id 图片分类主键
     * @return 结果
     */
    public int deleteImgTypeById(Long id);

    /**
     * 查询图片类型结构信息
     * @param imgType
     * @return
     */
    List<TreeSelect> selectImgTypeTreeList(ImgType imgType);
    /**
     * 构建前端所需要下拉树结构
     *
     * @param imgTypes 类型列表
     * @return 下拉树结构列表
     */
     List<TreeSelect> buildImgTypeTreeSelect(List<ImgType> imgTypes);
    /**
     * 构建前端所需要树结构
     *
     * @param imgTypes
     * @return 树结构列表
     */
     List<ImgType> buildImgTypeTree(List<ImgType> imgTypes);

    List<ImgType> selectImgTypeByParentIdList(Long id);

    /**
    * @Author zsc
    * @Description 根据子id查询父id
    * @Date 2024/10/25 16:00
    * @Return com.ruoyi.common.core.domain.AjaxResult
    * @param id
    */
    AjaxResult getParentIdByChildId(Long id);
}
